[INFO] cloning repository https://github.com/Hwatwasthat/rust_cryptopals
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Hwatwasthat/rust_cryptopals" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHwatwasthat%2Frust_cryptopals", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHwatwasthat%2Frust_cryptopals'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e37b6c3cfcb42394f9c6c9269c92431476e58c45
[INFO] checking Hwatwasthat/rust_cryptopals against master#cfbc6d4cf1acbac5c025acf8ed68929caa551df3 for pr-75494-beta
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHwatwasthat%2Frust_cryptopals" "/workspace/builds/worker-3/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Hwatwasthat/rust_cryptopals on toolchain cfbc6d4cf1acbac5c025acf8ed68929caa551df3
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Hwatwasthat/rust_cryptopals
[INFO] finished tweaking git repo https://github.com/Hwatwasthat/rust_cryptopals
[INFO] tweaked toml for git repo https://github.com/Hwatwasthat/rust_cryptopals written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate git repo https://github.com/Hwatwasthat/rust_cryptopals already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded block-cipher-trait v0.6.2
[INFO] [stderr]   Downloaded aes v0.3.2
[INFO] [stderr]   Downloaded aes-soft v0.3.3
[INFO] [stderr]   Downloaded aesni v0.6.0
[INFO] [stderr]   Downloaded block-modes v0.3.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 9b5538b49bd0fea0f5cb3dc20673db5b801e6aa098c6f10c65f18a637cea280d
[INFO] running `Command { std: "docker" "start" "-a" "9b5538b49bd0fea0f5cb3dc20673db5b801e6aa098c6f10c65f18a637cea280d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9b5538b49bd0fea0f5cb3dc20673db5b801e6aa098c6f10c65f18a637cea280d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b5538b49bd0fea0f5cb3dc20673db5b801e6aa098c6f10c65f18a637cea280d", kill_on_drop: false }`
[INFO] [stdout] 9b5538b49bd0fea0f5cb3dc20673db5b801e6aa098c6f10c65f18a637cea280d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 38403debaa394fb91af2992427164d7f8ce504ce2ca4a78fb0604e0f170748c9
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "38403debaa394fb91af2992427164d7f8ce504ce2ca4a78fb0604e0f170748c9", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.11.2
[INFO] [stderr]     Checking byte-tools v0.3.1
[INFO] [stderr]     Checking opaque-debug v0.2.3
[INFO] [stderr]     Checking block-padding v0.1.5
[INFO] [stderr]     Checking generic-array v0.12.3
[INFO] [stderr]     Checking block-cipher-trait v0.6.2
[INFO] [stderr]     Checking aes-soft v0.3.3
[INFO] [stderr]     Checking block-modes v0.3.3
[INFO] [stderr]     Checking aes v0.3.2
[INFO] [stderr]     Checking cryptopals v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: constant is never used: `AES_BLOCKSIZE`
[INFO] [stdout]  --> src/challenges/set_one/challenge_eight.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | const AES_BLOCKSIZE: usize = 16; // Bytes in an AES block for encryption
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_eight`
[INFO] [stdout]  --> src/challenges/set_one/challenge_eight.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn challenge_eight(file: File) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_five`
[INFO] [stdout]  --> src/challenges/set_one/challenge_five.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn challenge_five() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_four`
[INFO] [stdout]  --> src/challenges/set_one/challenge_four.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn challenge_four(file: File) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_one`
[INFO] [stdout]  --> src/challenges/set_one/challenge_one.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn challenge_one() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_seven`
[INFO] [stdout]  --> src/challenges/set_one/challenge_seven.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn challenge_seven(mut file: File) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_six`
[INFO] [stdout]   --> src/challenges/set_one/challenge_six.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn challenge_six(mut file: File) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_three`
[INFO] [stdout]  --> src/challenges/set_one/challenge_three.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn challenge_three() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_two`
[INFO] [stdout]  --> src/challenges/set_one/challenge_two.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn challenge_two() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `MAX_KEYSIZE`
[INFO] [stdout]  --> src/utility/comparison.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | const MAX_KEYSIZE: usize = 40;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `ACCURACY_MOD`
[INFO] [stdout]  --> src/utility/comparison.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | const ACCURACY_MOD: usize = 1000;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Keysize`
[INFO] [stdout]  --> src/utility/comparison.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Keysize {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `find_keysize`
[INFO] [stdout]   --> src/utility/comparison.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn find_keysize(input: &[u8]) -> Result<u16, Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `hamming_distance`
[INFO] [stdout]   --> src/utility/comparison.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn hamming_distance(first: &[u8], second: &[u8]) -> Result<u32, ComparisonError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `BASE64`
[INFO] [stdout]   --> src/utility/encoding/base64.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / const BASE64: [char; 64] = [
[INFO] [stdout] 6  | |     'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
[INFO] [stdout] 7  | |     'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
[INFO] [stdout] 8  | |     'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4',
[INFO] [stdout] 9  | |     '5', '6', '7', '8', '9', '+', '/',
[INFO] [stdout] 10 | | ];
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `from_string_hex`
[INFO] [stdout]   --> src/utility/encoding/base64.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn from_string_hex(s: &[u8]) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `encode`
[INFO] [stdout]   --> src/utility/encoding/base64.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn encode(bytes: Vec<u8>) -> String {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `to_bytes`
[INFO] [stdout]   --> src/utility/encoding/base64.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn to_bytes(input: String) -> Result<Vec<u8>, TransformError> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `padding`
[INFO] [stdout]   --> src/utility/encoding/base64.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn padding(b64_string: &mut String, pad: usize) {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `sextet_decode`
[INFO] [stdout]   --> src/utility/encoding/base64.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn sextet_decode(ch: char) -> Result<usize, TransformError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `single_byte`
[INFO] [stdout]  --> src/utility/encoding/xor.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn single_byte(v: &[u8], byte: u8) -> Vec<u8> {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `repeating_key`
[INFO] [stdout]   --> src/utility/encoding/xor.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn repeating_key(plain_vec: &[u8], key: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `guess`
[INFO] [stdout]   --> src/utility/string_process/guess.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn guess(input: &[u8]) -> Guess {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `freq`
[INFO] [stdout]   --> src/utility/string_process/guess.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn freq(input: String) -> u64 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `transpose`
[INFO] [stdout]  --> src/utility/transformation.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn transpose(input: &[u8], blocks: usize) -> Vec<Vec<u8>> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `AES_BLOCKSIZE`
[INFO] [stdout]  --> src/challenges/set_one/challenge_eight.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | const AES_BLOCKSIZE: usize = 16; // Bytes in an AES block for encryption
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_eight`
[INFO] [stdout]  --> src/challenges/set_one/challenge_eight.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn challenge_eight(file: File) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_five`
[INFO] [stdout]  --> src/challenges/set_one/challenge_five.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn challenge_five() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_four`
[INFO] [stdout]  --> src/challenges/set_one/challenge_four.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn challenge_four(file: File) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_one`
[INFO] [stdout]  --> src/challenges/set_one/challenge_one.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn challenge_one() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_seven`
[INFO] [stdout]  --> src/challenges/set_one/challenge_seven.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn challenge_seven(mut file: File) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_six`
[INFO] [stdout]   --> src/challenges/set_one/challenge_six.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn challenge_six(mut file: File) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_three`
[INFO] [stdout]  --> src/challenges/set_one/challenge_three.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn challenge_three() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `challenge_two`
[INFO] [stdout]  --> src/challenges/set_one/challenge_two.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn challenge_two() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `MAX_KEYSIZE`
[INFO] [stdout]  --> src/utility/comparison.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | const MAX_KEYSIZE: usize = 40;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `ACCURACY_MOD`
[INFO] [stdout]  --> src/utility/comparison.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | const ACCURACY_MOD: usize = 1000;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Keysize`
[INFO] [stdout]  --> src/utility/comparison.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Keysize {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `find_keysize`
[INFO] [stdout]   --> src/utility/comparison.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn find_keysize(input: &[u8]) -> Result<u16, Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `hamming_distance`
[INFO] [stdout]   --> src/utility/comparison.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn hamming_distance(first: &[u8], second: &[u8]) -> Result<u32, ComparisonError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `BASE64`
[INFO] [stdout]   --> src/utility/encoding/base64.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / const BASE64: [char; 64] = [
[INFO] [stdout] 6  | |     'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
[INFO] [stdout] 7  | |     'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
[INFO] [stdout] 8  | |     'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4',
[INFO] [stdout] 9  | |     '5', '6', '7', '8', '9', '+', '/',
[INFO] [stdout] 10 | | ];
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `from_string_hex`
[INFO] [stdout]   --> src/utility/encoding/base64.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn from_string_hex(s: &[u8]) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `encode`
[INFO] [stdout]   --> src/utility/encoding/base64.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn encode(bytes: Vec<u8>) -> String {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `to_bytes`
[INFO] [stdout]   --> src/utility/encoding/base64.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn to_bytes(input: String) -> Result<Vec<u8>, TransformError> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `padding`
[INFO] [stdout]   --> src/utility/encoding/base64.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn padding(b64_string: &mut String, pad: usize) {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `sextet_decode`
[INFO] [stdout]   --> src/utility/encoding/base64.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn sextet_decode(ch: char) -> Result<usize, TransformError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `single_byte`
[INFO] [stdout]  --> src/utility/encoding/xor.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn single_byte(v: &[u8], byte: u8) -> Vec<u8> {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `repeating_key`
[INFO] [stdout]   --> src/utility/encoding/xor.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn repeating_key(plain_vec: &[u8], key: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `from_str_hex`
[INFO] [stdout]  --> src/utility/hex.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn from_str_hex(s: &[u8]) -> Result<Vec<u8>, TransformError> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `to_str_hex`
[INFO] [stdout]   --> src/utility/hex.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn to_str_hex(hex: &[u8]) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `char_to_nibble`
[INFO] [stdout]   --> src/utility/hex.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn char_to_nibble(ch: u8) -> Result<u8, TransformError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `nibble_to_char`
[INFO] [stdout]   --> src/utility/hex.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn nibble_to_char(nibble: u8) -> char {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `guess`
[INFO] [stdout]   --> src/utility/string_process/guess.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn guess(input: &[u8]) -> Guess {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `freq`
[INFO] [stdout]   --> src/utility/string_process/guess.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn freq(input: String) -> u64 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `transpose`
[INFO] [stdout]  --> src/utility/transformation.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn transpose(input: &[u8], blocks: usize) -> Vec<Vec<u8>> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 29 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 6.48s
[INFO] running `Command { std: "docker" "inspect" "38403debaa394fb91af2992427164d7f8ce504ce2ca4a78fb0604e0f170748c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "38403debaa394fb91af2992427164d7f8ce504ce2ca4a78fb0604e0f170748c9", kill_on_drop: false }`
[INFO] [stdout] 38403debaa394fb91af2992427164d7f8ce504ce2ca4a78fb0604e0f170748c9
